package com.fsm.system.service;

import com.fsm.common.tools.Result.Result;
import com.mybatisflex.core.service.IService;
import com.fsm.system.entity.TSystemUser;
import jakarta.servlet.http.HttpServletResponse;

/**
 *  服务层。
 *
 * @author 翻山鸣
 * @since 2024/04/20
 */
public interface TSystemUserService extends IService<TSystemUser> {
    /**
     * 根据token获取用户
     *
     * @param
     * @return
     */
    Result getUserInfo() throws Exception;
    /**
     * 添加系统用户
     *
     * @param
     * @return
     */
    Result addSystemUser(TSystemUser tSystemUser) throws Exception;
    /**
     * 删除系统用户
     *
     * @param
     * @return
     */
    Result deleteSystemUser(TSystemUser tSystemUser) throws Exception;
    /**
     * 更新系统用户
     *
     * @param TSystemUser
     * @return
     */
    Result updateSystemUser(TSystemUser tSystemUser) throws Exception;
    /**
     * 分页查询系统用户
     *
     * @param
     * @return 分页对象
     */
    Result pageSystemUser(TSystemUser tSystemUser) throws Exception;

    /**
     * 查询系统列表
     *
     * @param
     * @return 分页对象
     */
    Result getSystemUserList(TSystemUser tSystemUser) throws Exception;

    /**
     * 通过ID查询系统管理ID
     *
     * @param
     * @return 分页对象
     */
    Result getSystemUserById(TSystemUser tSystemUser) throws Exception;
    /**
     * 通过用户ID获取菜单
     *
     * @param
     * @return 分页对象
     */
    Result getMenuByUserId(TSystemUser tSystemUser) throws Exception;
    /**
     * 导出用户信息
     *
     * @param
     * @return 分页对象
     */
    Result uploadUser(TSystemUser tSystemUser, HttpServletResponse response) throws Exception;
}
